﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Baza;
using System.IO;

namespace wsnForms
{
    public partial class WSN : Form
    {
        public WSN()
        {
            InitializeComponent();
            
            Typ[] typy = BazaDanych.GetTypy();
            for (int i = 0; i < typy.Length; i++)
            {
                cbtyp.Items.Add(typy[i].TypNazwa);
            }
            bAdminPanel.Enabled = false;
            bAdminPanel.Visible = false;
            cbpodtyp.Enabled = false;
            cbrodzaj.Enabled = false;
        }
   
        #region LabelPowitalnyPlusOsoba Class
        
        public class LabelPowitalnyPlusOsoba : Label
        {
            public LabelPowitalnyPlusOsoba(Uzytkownik uz)
            : base()
            {
                this.uzytkownik = uz;
                this.pracownik = null;
            }

            public LabelPowitalnyPlusOsoba(Pracownik pr)
                : base()
            {
                this.pracownik = pr;
                this.uzytkownik = null;
            }

            public LabelPowitalnyPlusOsoba()
                : base()
            {
                this.pracownik = null; ;
                this.uzytkownik = null;
            }

            public void setPracownik(Pracownik pr)
            {
                this.pracownik = pr;
                this.uzytkownik = null;
            }

            public void setUzytkownik(Uzytkownik uz)
            {
                this.uzytkownik = uz;
                this.pracownik = null;
            }

            public void setVoid()
            {
                this.uzytkownik = null;
                this.pracownik = null;
            }

            public Uzytkownik uzytkownik { get; set; }
            public Pracownik pracownik { get; set; }
        }

        #endregion //LabelPowitalnyPlusOsoba Class
        
        #region ButtonPlusSprzet Class

        public class ButtonPlusSprzet : Button
        {
            public ButtonPlusSprzet(Sprzet sprz)
                //: base()
            {
                this.sprzet = sprz;
            }
            public Sprzet sprzet { get; set; }
        }

        #endregion //ButtonPlusSprzet Class

        #region ButtonPlusSprzetPlusIndex Class

        public class ButtonPlusSprzetPlusIndex : Button
        {
            public ButtonPlusSprzetPlusIndex(Sprzet sprz, int i)
            //: base()
            {
                this.sprzet = sprz;
                this.index = i;
            }
            public Sprzet sprzet { get; set; }
            public int index;
        }

        #endregion //ButtonPlusSprzetPlusIndex Class

        #region CheckBoxPlusSprzet Class

        public class CheckBoxPlusSprzet : CheckBox
        {
            public CheckBoxPlusSprzet(Sprzet sprz)
            //: base()
            {
                this.sprzet = sprz;
            }
            public Sprzet sprzet { get; set; }
        }

        #endregion //CheckBoxPlusSprzet Class

        #region PictureBoxPlusIndex Class

        public class PictureBoxPlusIndex : PictureBox
        {
            public PictureBoxPlusIndex(int indexxx)
                : base()
            {
                this.index = indexxx;
            }
            public int index { get; set; }
        }

        #endregion //PictureBoxPlusIndex Class

        #region typSelectedIndexChanged

        private void cbtyp_SelectedIndexChanged(object sender, EventArgs e)
        {
            String sTyp = (String)cbtyp.SelectedItem;
            int pos = -1;

            cbpodtyp.Enabled = true;
            cbrodzaj.Enabled = false;
            cbpodtyp.Items.Clear();
            cbpodtyp.Text = "--wybierz podtyp--";
            cbrodzaj.Items.Clear();
            cbrodzaj.Text = "--wybierz rodzaj--";
            tbwyszukaj.Text = "--wpisz tekst--";

            Typ[] typy = BazaDanych.GetTypy();
            for (int i=0;i<typy.Length; i++)
            {
                if (sTyp == typy[i].TypNazwa)
                {
                    pos = i;
                    i = typy.Length;
                }
            }

            Podtyp[] podtypy = BazaDanych.GetPodtypy(typy[pos]);
            if (podtypy.Length == 0)
            {
                cbpodtyp.Enabled = false;
                cbrodzaj.Enabled = false;
            }
            else
            {
                for (int i = 0; i < podtypy.Length; i++)
                {
                    cbpodtyp.Items.Add(podtypy[i].PodtypNazwa);
                }
            }
            if (cbDateEnable.Checked)
            {
                lloc.Text = "> " + sTyp + " (od  " + dateOd.Value.ToShortDateString() + "  do  " + dateDo.Value.ToShortDateString() + ")";
                s = BazaDanych.GetSprzet(sTyp, "", "", "", dateOd.Value, dateDo.Value);
            }
            else
            {
                lloc.Text = "> " + sTyp + " ";
                s = BazaDanych.GetSprzet(sTyp, "", "", "");
            }
            //Dodałem ten focus, zeby scroll myszy nie bździł nam z zapytaniami - w pozostałych onchange`ach też
            //to Ludek dobrze zrobiłeś ale nie do końca
            //bo teraz nam przesuwa suwak na dół tak że nie widać górnego paska i trzeba przesuwać i to trochę lipa
            //teraz focus na lloc i jest git
            lloc.Focus();
            if (lpowitalny.pracownik == null)
            {
                pokazSprzet(s);
            }
            else
            {
                pokazSprzetPracownika(s);
            }
        }

        #endregion //typSelectedIndexChanged

        #region podtypSelectedIndexChanged

        private void cbpodtyp_SelectedIndexChanged(object sender, EventArgs e)
        {
            String sTyp = (String)cbtyp.SelectedItem;
            String sPodtyp = (String)cbpodtyp.SelectedItem;
            
            int pos = -1;

            cbrodzaj.Enabled = true;
            cbrodzaj.Items.Clear();
            cbrodzaj.Text = "--wybierz rodzaj--";

            Typ[] typy = BazaDanych.GetTypy();
            for (int i = 0; i < typy.Length; i++)
            {
                if (sTyp == typy[i].TypNazwa)
                {
                    pos = i;
                    i = typy.Length;
                }
            }

            Podtyp[] podtypy = BazaDanych.GetPodtypy(typy[pos]);
            for (int i=0;i<podtypy.Length; i++)
            {
                if (sPodtyp == podtypy[i].PodtypNazwa)
                {
                    pos = i;
                    i = podtypy.Length;
                }
            }

            Rodzaj[] rodzaje = BazaDanych.GetRodzaje(podtypy[pos]);
            if (rodzaje.Length == 0)
            {
                cbrodzaj.Enabled = false;
            }
            else
            {
                for (int i = 0; i < rodzaje.Length; i++)
                {
                    cbrodzaj.Items.Add(rodzaje[i].RodzajNazwa);
                }
            }
            if (cbDateEnable.Checked)
            {
                lloc.Text = "> " + sTyp + " > " + sPodtyp + " (od  " + dateOd.Value.ToShortDateString() + "  do  " + dateDo.Value.ToShortDateString() + ")";
                s = BazaDanych.GetSprzet(sTyp, sPodtyp, "", "", dateOd.Value, dateDo.Value);
            }
            else
            {
                lloc.Text = "> " + sTyp + " > " + sPodtyp + " ";
                s = BazaDanych.GetSprzet(sTyp, sPodtyp, "", "");
            }
            lloc.Focus();
            if (lpowitalny.pracownik == null)
            {
                pokazSprzet(s);
            }
            else
            {
                pokazSprzetPracownika(s);
            }
        }

        #endregion //podtypSelectedIndexChanged

        #region rodzajSelectedIndexChanged

        private void cbrodzaj_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cbDateEnable.Checked)
            {
                lloc.Text = "> " + (String)cbtyp.SelectedItem + " > " + (String)cbpodtyp.SelectedItem + " > " + (String)cbrodzaj.SelectedItem + " (od  " + dateOd.Value.ToShortDateString() + "  do  " + dateDo.Value.ToShortDateString() + ")";
                s = BazaDanych.GetSprzet((String)cbtyp.SelectedItem, (String)cbpodtyp.SelectedItem, (String)cbrodzaj.SelectedItem, "", dateOd.Value, dateDo.Value);
            }
            else
            {
                lloc.Text = "> " + (String)cbtyp.SelectedItem + " > " + (String)cbpodtyp.SelectedItem + " > " + (String)cbrodzaj.SelectedItem + " ";
                s = BazaDanych.GetSprzet((String)cbtyp.SelectedItem, (String)cbpodtyp.SelectedItem, (String)cbrodzaj.SelectedItem, "");
            }

            lloc.Focus();
            if (lpowitalny.pracownik == null)
            {
                pokazSprzet(s);
            }
            else
            {
                pokazSprzetPracownika(s);
            }
        }

        #endregion //rodzajSelectedIndexChanged

        #region zalogujClick

        private void bzaloguj_Click(object sender, EventArgs e)
        {
            if (bzaloguj.Text == "Zaloguj")
            {
                bool b = false;
                Pracownik[] pr = BazaDanych.GetPracownicy();
                for (int i = 0; i < pr.Length; i++)
                {
                    if ((tblogin.Text == pr[i].PrLogin) && (tbpassword.Text == pr[i].PrHaslo))
                    {
                        b = true;
                        loginPracownikaPoprawny(pr[i]);
                        lpowitalny.setPracownik(pr[i]);

                        items.Controls.Clear();

                        cbtyp.Text = "--wybierz typ--";
                        cbpodtyp.Text = "--wybierz podtyp--";
                        cbrodzaj.Text = "--wybierz rodzaj--";
                        tbwyszukaj.Text = "--przykladowy tekst--";
                        cbpodtyp.Enabled = false;
                        cbrodzaj.Enabled = false;
                        lloc.Text = "";
                        cbDateEnable.Checked = false;
                    }
                }
                Uzytkownik[] uz = BazaDanych.GetUzytkownicy();
                for (int i = 0; i < uz.Length; i++)
                {
                    if ((tblogin.Text == uz[i].UzLogin) && (tbpassword.Text == uz[i].UzHaslo))
                    {
                        b = true;
                        loginUzytkownikaPoprawny(uz[i]);
                        lpowitalny.setUzytkownik(uz[i]);
                    }
                }
                if (!b)
                {
                    lpowitalny.Text = "Błędny login lub hasło";
                }
            }
            else
            {
                items.Controls.Clear();

                lpowitalny.Text = "Zaloguj się ->";
                lpowitalny.setVoid();
                llogin.Enabled = true;
                lpassword.Enabled = true;
                tblogin.Enabled = true;
                tbpassword.Enabled = true;
                bAdminPanel.Enabled = false;
                bAdminPanel.Visible = false;
                bzaloguj.Text = "Zaloguj";

                bDodaj.Enabled = false;
                bDodaj.Visible = false;
                cbUszkodzony.Enabled = false;
                cbUszkodzony.Visible = false;
                cbDoKonserwacji.Enabled = false;
                cbDoKonserwacji.Visible = false;

                cbtyp.Text = "--wybierz typ--";
                cbpodtyp.Text = "--wybierz podtyp--";
                cbrodzaj.Text = "--wybierz rodzaj--";
                tbwyszukaj.Text = "--przykladowy tekst--";
                cbpodtyp.Enabled = false;
                cbrodzaj.Enabled = false;
                lloc.Text = "";
                cbDateEnable.Checked = false;
            }
        }

        private void loginPracownikaPoprawny(Pracownik pr)
        {
            bAdminPanel.Visible = true;
            bAdminPanel.Enabled = true;
            lpowitalny.Text = "" + pr.PrLogin + " - Możesz przejść do panelu administracyjnego";
            llogin.Enabled = false;
            lpassword.Enabled = false;
            tblogin.Enabled = false;
            tbpassword.Enabled = false;
            bzaloguj.Text = "Wyloguj";

            bDodaj.Enabled = true;
            bDodaj.Visible = true;
            cbUszkodzony.Enabled = true;
            cbUszkodzony.Visible = true;
            cbDoKonserwacji.Enabled = true;
            cbDoKonserwacji.Visible = true;
        }

        private void loginUzytkownikaPoprawny(Uzytkownik uz)
        {
            lpowitalny.Text = "Witaj " + uz.UzLogin;
            llogin.Enabled = false;
            lpassword.Enabled = false;
            tblogin.Enabled = false;
            tbpassword.Enabled = false;
            bzaloguj.Text = "Wyloguj";
        }

        #endregion //zalogujClick

        #region adminPanelClick
        private void bAdminPanel_MouseClick(object sender, MouseEventArgs e)
        {
            AdminPanel ap = new AdminPanel();
            ap.Show(this);
        }

        #endregion //adminPanelClick

        #region wyszukajClick

        private void bszukaj_MouseClick(object sender, MouseEventArgs e)
        {
        //sprawdzenie czy we wpisanym do wyszukiwarki stringu jest słowo select
            String ss = tbwyszukaj.Text;
            bool bb = true;
            for (int i = 0; i <= ss.Length - 7; i++)
            {
                if (ss.Substring(i, 7) == "select ")
                {
                    bb = false;
                }
            }

            //jeżeli podano ciąg znaków słuzszy niż 3 i inny niż "--wpisz tekst" i ciąg pusty
            if ((tbwyszukaj.Text != "--wpisz tekst--")&&(tbwyszukaj.Text != "")&&(tbwyszukaj.Text.Length>=3))
            {
                //jeśli nie ma słowa select w oknie wyszukiwarki
                if (bb)
                {
                    //jeśli wybrano ograniczenie czasowe
                    if (cbDateEnable.Checked)
                    {
                        lloc.Text = "> Wyszukaj: '" + tbwyszukaj.Text + "' (od  " + dateOd.Value.ToShortDateString() + "  do  " + dateDo.Value.ToShortDateString() + ")";
                        s = BazaDanych.GetSprzet("", "", "", tbwyszukaj.Text, dateOd.Value, dateDo.Value);
                    }
                    //jesli nie wybrano ograniczenia czasowego
                    else
                    {
                        lloc.Text = "> Wyszukaj: '" + tbwyszukaj.Text + "' ";
                        s = BazaDanych.GetSprzet("", "", "", tbwyszukaj.Text);
                    }
                    //jeśli nic nie znaleziono
                    if (s.Length == 0)
                    {
                        Label l = new Label();
                        l.AutoSize = true;
                        l.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        l.Location = new System.Drawing.Point(2, 2);
                        l.Text = "Brak wyników wyszukiwania";
                        items.Controls.Clear();
                        items.Controls.Add(l);
                        lloc.Text = "";
                    }
                    //jeśli coś znaleziono
                    else
                    {
                        if (lpowitalny.pracownik == null)
                        {
                            pokazSprzet(s);
                        }
                        else
                        {
                            pokazSprzetPracownika(s);
                        }
                    }
                }
                //jeśli jest słowo select w oknie wyszukiwarki
                else
                {
                    Label l = new Label();
                    l.AutoSize = true;
                    l.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                    l.Location = new System.Drawing.Point(2, 2);
                    l.Text = "Wykryto potencjalny atak typu SQL Injection";
                    items.Controls.Clear();
                    items.Controls.Add(l);
                    lloc.Text = "";
                }
                cbpodtyp.Items.Clear();
                cbrodzaj.Items.Clear();
                cbtyp.Text = "--wybierz typ--";
                cbpodtyp.Text = "--wybierz podtyp--";
                cbrodzaj.Text = "--wybierz rodzaj--";
                cbpodtyp.Enabled = false;
                cbrodzaj.Enabled = false;
            }
            //jeśli ciąg znaków ma mniej niż 3 znaki
            else if ((tbwyszukaj.Text != "--wpisz tekst--") && (tbwyszukaj.Text != "") && (tbwyszukaj.Text.Length<3))
            {
                Label l = new Label();
                l.AutoSize = true;
                l.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                l.Location = new System.Drawing.Point(2, 2);
                l.Text = "Tekst za krótki. Podaj co najmniej 3 znaki";
                items.Controls.Clear();
                items.Controls.Add(l);
                lloc.Text = "";

                cbpodtyp.Items.Clear();
                cbrodzaj.Items.Clear();
                cbtyp.Text = "--wybierz typ--";
                cbpodtyp.Text = "--wybierz podtyp--";
                cbrodzaj.Text = "--wybierz rodzaj--";
                cbpodtyp.Enabled = false;
                cbrodzaj.Enabled = false;
            }
        }

        #endregion //wyszukajClick

        #region wszystkoClick

        private void wszystko_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            cbtyp.Text = "--wybierz typ--";
            cbpodtyp.Text = "--wybierz podtyp--";
            cbrodzaj.Text = "--wybierz rodzaj--";
            tbwyszukaj.Text = "--przykladowy tekst--";
            cbpodtyp.Enabled = false;
            cbrodzaj.Enabled = false;
            //załadowanie całego sprzętu z bazy
            if (cbDateEnable.Checked)
            {
                lloc.Text = "(od  " + dateOd.Value.ToShortDateString() + "  do  " + dateDo.Value.ToShortDateString() + ")";
                s = BazaDanych.GetSprzet("", "", "", "", dateOd.Value, dateDo.Value);
            }
            else
            {
                lloc.Text = "";
                s = BazaDanych.GetSprzet("", "", "", "");
            }
            if (lpowitalny.pracownik == null)
            {
                pokazSprzet(s);
            }
            else
            {
                pokazSprzetPracownika(s);
            }
        }

        #endregion //wszystkoClick

        #region addImageToDatabase

        public void addImageToDatabase(int idSprzet, string imageLocation)
        {
            MemoryStream ms = new MemoryStream();
            PictureBox pb = new PictureBox();
            Bitmap bmp = new Bitmap(imageLocation);
            pb.Image = bmp;
            pb.Image.Save(ms, pb.Image.RawFormat);
            byte[] img = ms.GetBuffer();
            BazaDanych.SetImageToSprzet(img, idSprzet);
        }

        #endregion //addImageToDatabase

        # region pokazSprzet

        public void pokazSprzet(Sprzet[] sp)
        {
            items.Controls.Clear();
            Panel panel = null;
            ButtonPlusSprzet button = null;
            PictureBoxPlusIndex pbpi = null;

            if (cbDateEnable.Checked && dateOd.Value > dateDo.Value)
            {
                //Jeśli wybrano złe daty 
                MessageBox.Show("Data początkowa nie może być późniejsza niż data końcowa!");
            }
            else
            {

                for (int i = 0; i < sp.Length; i++)
                {
                    if ((!sp[i].SpUszkodzony) && (!sp[i].SpDoKonserwacji))
                    {
                        panel = new Panel();
                        pbpi = new PictureBoxPlusIndex(i);
                        button = new ButtonPlusSprzet(sp[i]);
                        Label nazwa = new Label();
                        Label producent = new Label();
                        Label rozmiar = new Label();
                        Label wzrost = new Label();
                        Label waga = new Label();
                        Label dostepny = new Label();
                        Label cena = new Label();
                        String plec = null;

                        if (sp[i].SpPlec == 'm')
                        {
                            plec = "męski";
                        }
                        else if (sp[i].SpPlec == 'k')
                        {
                            plec = "damski";
                        }
                        else
                        {
                            plec = "dziecięcy";
                        }
                        nazwa.AutoSize = true;
                        nazwa.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        nazwa.Location = new System.Drawing.Point(110, 0);
                        nazwa.Text = "" + sp[i].SpNazwa + " (" + plec + ")";

                        producent.AutoSize = true;
                        producent.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        producent.Location = new System.Drawing.Point(110, 20);
                        producent.Text = "Producent: " + sp[i].SpProducent;

                        rozmiar.AutoSize = true;
                        rozmiar.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        rozmiar.Location = new System.Drawing.Point(110, 40);
                        rozmiar.Text = "Rozmiar: " + sp[i].SpRozmiar;

                        wzrost.AutoSize = true;
                        wzrost.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        wzrost.Location = new System.Drawing.Point(110, 60);
                        wzrost.Text = "Wzrost: " + sp[i].SpWzrost;

                        waga.AutoSize = true;
                        waga.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        waga.Location = new System.Drawing.Point(110, 80);
                        waga.Text = "Waga: " + sp[i].SpWaga;

                        dostepny.AutoSize = true;
                        dostepny.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        dostepny.Location = new System.Drawing.Point(590, 0);
                        if ((!sp[i].SpDoKonserwacji) && (!sp[i].SpUszkodzony) && (sp[i].SpDostepny))
                        {
                            dostepny.Text = "Dostępny";
                        }
                        else
                        {
                            dostepny.Text = "Niedostępny";
                        }

                        cena.AutoSize = true;
                        cena.Font = new System.Drawing.Font("Microsoft Sans Serif", 13F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        cena.Location = new System.Drawing.Point(580, 55);
                        cena.Text = "Cena: " + sp[i].SpCena + " zł";

                        button.AutoSize = true;
                        button.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        button.Location = new System.Drawing.Point(600, 80);
                        button.Text = "Zamów";

                        button.Click += new EventHandler(ZamowClick);

                        pbpi.SizeMode = PictureBoxSizeMode.Zoom;
                        pbpi.MaximumSize = new System.Drawing.Size(100, 100);
                        pbpi.Anchor = AnchorStyles.Left;
                        pbpi.MouseClick += new System.Windows.Forms.MouseEventHandler(powieksz_MouseClick);
                        if (sp[i].SpObrazek != null)
                        {
                            MemoryStream ms = new MemoryStream(sp[i].SpObrazek);
                            pbpi.Image = Image.FromStream(ms);
                        }
                        else
                        {
                            pbpi.ImageLocation = "C:\\Documents and Settings\\Zbig\\Moje dokumenty\\Visual Studio 2008\\Projects\\wsnForms\\wsnForms\\Properties\\brak.jpg";
                        }

                        panel.AutoSize = true;
                        panel.Controls.Add(nazwa);
                        panel.Controls.Add(producent);
                        panel.Controls.Add(rozmiar);
                        panel.Controls.Add(wzrost);
                        panel.Controls.Add(waga);
                        panel.Controls.Add(button);
                        panel.Controls.Add(dostepny);
                        panel.Controls.Add(cena);
                        panel.Controls.Add(pbpi);
                        items.Controls.Add(panel);
                    }
                }
            }
        }

        #endregion // pokazSprzet

        # region pokazSprzetPracownika

        public void pokazSprzetPracownika(Sprzet[] sp)
        {
            items.Controls.Clear();
            Panel panel = null;
            ButtonPlusSprzet button = null;
            ButtonPlusSprzet bEdytuj = null;
            ButtonPlusSprzetPlusIndex bUsun = null;
            CheckBoxPlusSprzet checkUszkodzony = null;
            CheckBoxPlusSprzet checkDoKonserwacji = null;
            PictureBoxPlusIndex pbpi = null;

            if (cbDateEnable.Checked && dateOd.Value > dateDo.Value)
            {
                //Jeśli wybrano złe daty 
                MessageBox.Show("Data początkowa nie może być późniejsza niż data końcowa!");
            }
            else
            {

                for (int i = 0; i < sp.Length; i++)
                {
                    if ((!cbUszkodzony.Checked) && (!cbDoKonserwacji.Checked))
                    {
                        //wyświetlić sprzęt sprawny, uszkodzony i do konserwacji
                        panel = new Panel();
                        pbpi = new PictureBoxPlusIndex(i);
                        button = new ButtonPlusSprzet(sp[i]);
                        bEdytuj = new ButtonPlusSprzet(sp[i]);
                        bUsun = new ButtonPlusSprzetPlusIndex(sp[i],i);
                        checkUszkodzony = new CheckBoxPlusSprzet(sp[i]);
                        checkDoKonserwacji = new CheckBoxPlusSprzet(sp[i]);

                        Label nazwa = new Label();
                        Label producent = new Label();
                        Label rozmiar = new Label();
                        Label wzrost = new Label();
                        Label waga = new Label();
                        Label dostepny = new Label();
                        Label cena = new Label();
                        String plec = null;

                        if (sp[i].SpPlec == 'm')
                        {
                            plec = "męski";
                        }
                        else if (sp[i].SpPlec == 'k')
                        {
                            plec = "damski";
                        }
                        else
                        {
                            plec = "dziecięcy";
                        }
                        nazwa.AutoSize = true;
                        nazwa.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        nazwa.Location = new System.Drawing.Point(110, 0);
                        nazwa.Text = "" + sp[i].SpNazwa + " (" + plec + ")";

                        producent.AutoSize = true;
                        producent.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        producent.Location = new System.Drawing.Point(110, 20);
                        producent.Text = "Producent: " + sp[i].SpProducent;

                        rozmiar.AutoSize = true;
                        rozmiar.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        rozmiar.Location = new System.Drawing.Point(110, 40);
                        rozmiar.Text = "Rozmiar: " + sp[i].SpRozmiar;

                        wzrost.AutoSize = true;
                        wzrost.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        wzrost.Location = new System.Drawing.Point(110, 60);
                        wzrost.Text = "Wzrost: " + sp[i].SpWzrost;

                        waga.AutoSize = true;
                        waga.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        waga.Location = new System.Drawing.Point(110, 80);
                        waga.Text = "Waga: " + sp[i].SpWaga;

                        dostepny.AutoSize = true;
                        dostepny.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        dostepny.Location = new System.Drawing.Point(590, 0);
                        if ((!sp[i].SpDoKonserwacji) && (!sp[i].SpUszkodzony) && (sp[i].SpDostepny))
                        {
                            dostepny.Text = "Dostępny";
                        }
                        else
                        {
                            dostepny.Text = "Niedostępny";
                        }

                        cena.AutoSize = true;
                        cena.Font = new System.Drawing.Font("Microsoft Sans Serif", 13F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        cena.Location = new System.Drawing.Point(580, 55);
                        cena.Text = "Cena: " + sp[i].SpCena + " zł";

                        button.AutoSize = true;
                        button.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        button.Location = new System.Drawing.Point(600, 80);
                        button.Text = "Zamów";

                        button.Click += new EventHandler(ZamowClick);

                        pbpi.SizeMode = PictureBoxSizeMode.Zoom;
                        pbpi.MaximumSize = new System.Drawing.Size(100, 100);
                        pbpi.Anchor = AnchorStyles.Left;
                        pbpi.MouseClick += new System.Windows.Forms.MouseEventHandler(powieksz_MouseClick);
                        if (sp[i].SpObrazek != null)
                        {
                            MemoryStream ms = new MemoryStream(sp[i].SpObrazek);
                            pbpi.Image = Image.FromStream(ms);
                        }
                        else
                        {
                            pbpi.ImageLocation = "C:\\Documents and Settings\\Zbig\\Moje dokumenty\\Visual Studio 2008\\Projects\\wsnForms\\wsnForms\\Properties\\brak.jpg";
                        }

                        bEdytuj.AutoSize = true;
                        bEdytuj.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        bEdytuj.Location = new System.Drawing.Point(110, 100);
                        bEdytuj.Text = "Edytuj sprzęt";

                        bEdytuj.Click += new EventHandler(Edytuj_Click);

                        bUsun.AutoSize = true;
                        bUsun.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        bUsun.Location = new System.Drawing.Point(210, 100);
                        bUsun.Text = "Usuń sprzęt";

                        bUsun.Click += new EventHandler(Usun_Click);

                        checkUszkodzony.AutoSize = true;
                        checkUszkodzony.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        checkUszkodzony.Location = new System.Drawing.Point(310, 100);
                        checkUszkodzony.Text = "Uszkodzony";
                        if (sp[i].SpUszkodzony)
                        {
                            checkUszkodzony.Checked = true;
                        }
                        else
                        {
                            checkUszkodzony.Checked = false;
                        }

                        checkUszkodzony.CheckedChanged += new EventHandler(Uszkodzony_CheckedChanged);

                        checkDoKonserwacji.AutoSize = true;
                        checkDoKonserwacji.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        checkDoKonserwacji.Location = new System.Drawing.Point(410, 100);
                        checkDoKonserwacji.Text = "Do konserwacji";
                        if (sp[i].SpDoKonserwacji)
                        {
                            checkDoKonserwacji.Checked = true;
                        }
                        else
                        {
                            checkDoKonserwacji.Checked = false;
                        }

                        checkDoKonserwacji.CheckedChanged += new EventHandler(DoKonserwacji_CheckedChanged);

                        panel.AutoSize = true;
                        panel.Controls.Add(nazwa);
                        panel.Controls.Add(producent);
                        panel.Controls.Add(rozmiar);
                        panel.Controls.Add(wzrost);
                        panel.Controls.Add(waga);
                        panel.Controls.Add(button);
                        panel.Controls.Add(dostepny);
                        panel.Controls.Add(cena);
                        panel.Controls.Add(pbpi);

                        panel.Controls.Add(bEdytuj);
                        panel.Controls.Add(bUsun);
                        panel.Controls.Add(checkUszkodzony);
                        panel.Controls.Add(checkDoKonserwacji);

                        items.Controls.Add(panel);
                    }
                    else if ((cbUszkodzony.Checked) && (!cbDoKonserwacji.Checked) && (sp[i].SpUszkodzony))
                    {
                        //wyświetlić sprzęt uszkodzony
                        panel = new Panel();
                        pbpi = new PictureBoxPlusIndex(i);
                        button = new ButtonPlusSprzet(sp[i]);
                        bEdytuj = new ButtonPlusSprzet(sp[i]);
                        bUsun = new ButtonPlusSprzetPlusIndex(sp[i],i);
                        checkUszkodzony = new CheckBoxPlusSprzet(sp[i]);
                        checkDoKonserwacji = new CheckBoxPlusSprzet(sp[i]);

                        Label nazwa = new Label();
                        Label producent = new Label();
                        Label rozmiar = new Label();
                        Label wzrost = new Label();
                        Label waga = new Label();
                        Label dostepny = new Label();
                        Label cena = new Label();
                        String plec = null;

                        if (sp[i].SpPlec == 'm')
                        {
                            plec = "męski";
                        }
                        else if (sp[i].SpPlec == 'k')
                        {
                            plec = "damski";
                        }
                        else
                        {
                            plec = "dziecięcy";
                        }
                        nazwa.AutoSize = true;
                        nazwa.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        nazwa.Location = new System.Drawing.Point(110, 0);
                        nazwa.Text = "" + sp[i].SpNazwa + " (" + plec + ")";

                        producent.AutoSize = true;
                        producent.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        producent.Location = new System.Drawing.Point(110, 20);
                        producent.Text = "Producent: " + sp[i].SpProducent;

                        rozmiar.AutoSize = true;
                        rozmiar.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        rozmiar.Location = new System.Drawing.Point(110, 40);
                        rozmiar.Text = "Rozmiar: " + sp[i].SpRozmiar;

                        wzrost.AutoSize = true;
                        wzrost.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        wzrost.Location = new System.Drawing.Point(110, 60);
                        wzrost.Text = "Wzrost: " + sp[i].SpWzrost;

                        waga.AutoSize = true;
                        waga.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        waga.Location = new System.Drawing.Point(110, 80);
                        waga.Text = "Waga: " + sp[i].SpWaga;

                        dostepny.AutoSize = true;
                        dostepny.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        dostepny.Location = new System.Drawing.Point(590, 0);
                        if ((!sp[i].SpDoKonserwacji) && (!sp[i].SpUszkodzony) && (sp[i].SpDostepny))
                        {
                            dostepny.Text = "Dostępny";
                        }
                        else
                        {
                            dostepny.Text = "Niedostępny";
                        }

                        cena.AutoSize = true;
                        cena.Font = new System.Drawing.Font("Microsoft Sans Serif", 13F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        cena.Location = new System.Drawing.Point(580, 55);
                        cena.Text = "Cena: " + sp[i].SpCena + " zł";

                        button.AutoSize = true;
                        button.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        button.Location = new System.Drawing.Point(600, 80);
                        button.Text = "Zamów";

                        button.Click += new EventHandler(ZamowClick);

                        pbpi.SizeMode = PictureBoxSizeMode.Zoom;
                        pbpi.MaximumSize = new System.Drawing.Size(100, 100);
                        pbpi.Anchor = AnchorStyles.Left;
                        pbpi.MouseClick += new System.Windows.Forms.MouseEventHandler(powieksz_MouseClick);
                        if (sp[i].SpObrazek != null)
                        {
                            MemoryStream ms = new MemoryStream(sp[i].SpObrazek);
                            pbpi.Image = Image.FromStream(ms);
                        }
                        else
                        {
                            pbpi.ImageLocation = "C:\\Documents and Settings\\Zbig\\Moje dokumenty\\Visual Studio 2008\\Projects\\wsnForms\\wsnForms\\Properties\\brak.jpg";
                        }

                        bEdytuj.AutoSize = true;
                        bEdytuj.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        bEdytuj.Location = new System.Drawing.Point(110, 100);
                        bEdytuj.Text = "Edytuj sprzęt";

                        bEdytuj.Click += new EventHandler(Edytuj_Click);

                        bUsun.AutoSize = true;
                        bUsun.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        bUsun.Location = new System.Drawing.Point(210, 100);
                        bUsun.Text = "Usuń sprzęt";

                        bUsun.Click += new EventHandler(Usun_Click);

                        checkUszkodzony.AutoSize = true;
                        checkUszkodzony.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        checkUszkodzony.Location = new System.Drawing.Point(310, 100);
                        checkUszkodzony.Text = "Uszkodzony";
                        if (sp[i].SpUszkodzony)
                        {
                            checkUszkodzony.Checked = true;
                        }
                        else
                        {
                            checkUszkodzony.Checked = false;
                        }

                        checkUszkodzony.CheckedChanged += new EventHandler(Uszkodzony_CheckedChanged);

                        checkDoKonserwacji.AutoSize = true;
                        checkDoKonserwacji.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        checkDoKonserwacji.Location = new System.Drawing.Point(410, 100);
                        checkDoKonserwacji.Text = "Do konserwacji";
                        if (sp[i].SpDoKonserwacji)
                        {
                            checkDoKonserwacji.Checked = true;
                        }
                        else
                        {
                            checkDoKonserwacji.Checked = false;
                        }

                        checkDoKonserwacji.CheckedChanged += new EventHandler(DoKonserwacji_CheckedChanged);

                        panel.AutoSize = true;
                        panel.Controls.Add(nazwa);
                        panel.Controls.Add(producent);
                        panel.Controls.Add(rozmiar);
                        panel.Controls.Add(wzrost);
                        panel.Controls.Add(waga);
                        panel.Controls.Add(button);
                        panel.Controls.Add(dostepny);
                        panel.Controls.Add(cena);
                        panel.Controls.Add(pbpi);

                        panel.Controls.Add(bEdytuj);
                        panel.Controls.Add(bUsun);
                        panel.Controls.Add(checkUszkodzony);
                        panel.Controls.Add(checkDoKonserwacji);

                        items.Controls.Add(panel);
                    }
                    else if ((!cbUszkodzony.Checked) && (cbDoKonserwacji.Checked) && (sp[i].SpDoKonserwacji))
                    {
                        //wyświetlić sprzęt do konserwacji
                        panel = new Panel();
                        pbpi = new PictureBoxPlusIndex(i);
                        button = new ButtonPlusSprzet(sp[i]);
                        bEdytuj = new ButtonPlusSprzet(sp[i]);
                        bUsun = new ButtonPlusSprzetPlusIndex(sp[i],i);
                        checkUszkodzony = new CheckBoxPlusSprzet(sp[i]);
                        checkDoKonserwacji = new CheckBoxPlusSprzet(sp[i]);

                        Label nazwa = new Label();
                        Label producent = new Label();
                        Label rozmiar = new Label();
                        Label wzrost = new Label();
                        Label waga = new Label();
                        Label dostepny = new Label();
                        Label cena = new Label();
                        String plec = null;

                        if (sp[i].SpPlec == 'm')
                        {
                            plec = "męski";
                        }
                        else if (sp[i].SpPlec == 'k')
                        {
                            plec = "damski";
                        }
                        else
                        {
                            plec = "dziecięcy";
                        }
                        nazwa.AutoSize = true;
                        nazwa.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        nazwa.Location = new System.Drawing.Point(110, 0);
                        nazwa.Text = "" + sp[i].SpNazwa + " (" + plec + ")";

                        producent.AutoSize = true;
                        producent.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        producent.Location = new System.Drawing.Point(110, 20);
                        producent.Text = "Producent: " + sp[i].SpProducent;

                        rozmiar.AutoSize = true;
                        rozmiar.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        rozmiar.Location = new System.Drawing.Point(110, 40);
                        rozmiar.Text = "Rozmiar: " + sp[i].SpRozmiar;

                        wzrost.AutoSize = true;
                        wzrost.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        wzrost.Location = new System.Drawing.Point(110, 60);
                        wzrost.Text = "Wzrost: " + sp[i].SpWzrost;

                        waga.AutoSize = true;
                        waga.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        waga.Location = new System.Drawing.Point(110, 80);
                        waga.Text = "Waga: " + sp[i].SpWaga;

                        dostepny.AutoSize = true;
                        dostepny.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        dostepny.Location = new System.Drawing.Point(590, 0);
                        if ((!sp[i].SpDoKonserwacji) && (!sp[i].SpUszkodzony) && (sp[i].SpDostepny))
                        {
                            dostepny.Text = "Dostępny";
                        }
                        else
                        {
                            dostepny.Text = "Niedostępny";
                        }

                        cena.AutoSize = true;
                        cena.Font = new System.Drawing.Font("Microsoft Sans Serif", 13F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        cena.Location = new System.Drawing.Point(580, 55);
                        cena.Text = "Cena: " + sp[i].SpCena + " zł";

                        button.AutoSize = true;
                        button.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        button.Location = new System.Drawing.Point(600, 80);
                        button.Text = "Zamów";

                        button.Click += new EventHandler(ZamowClick);

                        pbpi.SizeMode = PictureBoxSizeMode.Zoom;
                        pbpi.MaximumSize = new System.Drawing.Size(100, 100);
                        pbpi.Anchor = AnchorStyles.Left;
                        pbpi.MouseClick += new System.Windows.Forms.MouseEventHandler(powieksz_MouseClick);
                        if (sp[i].SpObrazek != null)
                        {
                            MemoryStream ms = new MemoryStream(sp[i].SpObrazek);
                            pbpi.Image = Image.FromStream(ms);
                        }
                        else
                        {
                            pbpi.ImageLocation = "C:\\Documents and Settings\\Zbig\\Moje dokumenty\\Visual Studio 2008\\Projects\\wsnForms\\wsnForms\\Properties\\brak.jpg";
                        }

                        bEdytuj.AutoSize = true;
                        bEdytuj.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        bEdytuj.Location = new System.Drawing.Point(110, 100);
                        bEdytuj.Text = "Edytuj sprzęt";

                        bEdytuj.Click += new EventHandler(Edytuj_Click);

                        bUsun.AutoSize = true;
                        bUsun.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        bUsun.Location = new System.Drawing.Point(210, 100);
                        bUsun.Text = "Usuń sprzęt";

                        bUsun.Click += new EventHandler(Usun_Click);

                        checkUszkodzony.AutoSize = true;
                        checkUszkodzony.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        checkUszkodzony.Location = new System.Drawing.Point(310, 100);
                        checkUszkodzony.Text = "Uszkodzony";
                        if (sp[i].SpUszkodzony)
                        {
                            checkUszkodzony.Checked = true;
                        }
                        else
                        {
                            checkUszkodzony.Checked = false;
                        }

                        checkUszkodzony.CheckedChanged += new EventHandler(Uszkodzony_CheckedChanged);

                        checkDoKonserwacji.AutoSize = true;
                        checkDoKonserwacji.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        checkDoKonserwacji.Location = new System.Drawing.Point(410, 100);
                        checkDoKonserwacji.Text = "Do konserwacji";
                        if (sp[i].SpDoKonserwacji)
                        {
                            checkDoKonserwacji.Checked = true;
                        }
                        else
                        {
                            checkDoKonserwacji.Checked = false;
                        }

                        checkDoKonserwacji.CheckedChanged += new EventHandler(DoKonserwacji_CheckedChanged);

                        panel.AutoSize = true;
                        panel.Controls.Add(nazwa);
                        panel.Controls.Add(producent);
                        panel.Controls.Add(rozmiar);
                        panel.Controls.Add(wzrost);
                        panel.Controls.Add(waga);
                        panel.Controls.Add(button);
                        panel.Controls.Add(dostepny);
                        panel.Controls.Add(cena);
                        panel.Controls.Add(pbpi);

                        panel.Controls.Add(bEdytuj);
                        panel.Controls.Add(bUsun);
                        panel.Controls.Add(checkUszkodzony);
                        panel.Controls.Add(checkDoKonserwacji);

                        items.Controls.Add(panel);
                    }
                    else if ((cbUszkodzony.Checked) && (cbDoKonserwacji.Checked) && (sp[i].SpUszkodzony) && (sp[i].SpDoKonserwacji))
                    {
                        //wyświetlić sprzęt uszkodzony i do konserwacji
                        panel = new Panel();
                        pbpi = new PictureBoxPlusIndex(i);
                        button = new ButtonPlusSprzet(sp[i]);
                        bEdytuj = new ButtonPlusSprzet(sp[i]);
                        bUsun = new ButtonPlusSprzetPlusIndex(sp[i],i);
                        checkUszkodzony = new CheckBoxPlusSprzet(sp[i]);
                        checkDoKonserwacji = new CheckBoxPlusSprzet(sp[i]);

                        Label nazwa = new Label();
                        Label producent = new Label();
                        Label rozmiar = new Label();
                        Label wzrost = new Label();
                        Label waga = new Label();
                        Label dostepny = new Label();
                        Label cena = new Label();
                        String plec = null;

                        if (sp[i].SpPlec == 'm')
                        {
                            plec = "męski";
                        }
                        else if (sp[i].SpPlec == 'k')
                        {
                            plec = "damski";
                        }
                        else
                        {
                            plec = "dziecięcy";
                        }
                        nazwa.AutoSize = true;
                        nazwa.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        nazwa.Location = new System.Drawing.Point(110, 0);
                        nazwa.Text = "" + sp[i].SpNazwa + " (" + plec + ")";

                        producent.AutoSize = true;
                        producent.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        producent.Location = new System.Drawing.Point(110, 20);
                        producent.Text = "Producent: " + sp[i].SpProducent;

                        rozmiar.AutoSize = true;
                        rozmiar.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        rozmiar.Location = new System.Drawing.Point(110, 40);
                        rozmiar.Text = "Rozmiar: " + sp[i].SpRozmiar;

                        wzrost.AutoSize = true;
                        wzrost.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        wzrost.Location = new System.Drawing.Point(110, 60);
                        wzrost.Text = "Wzrost: " + sp[i].SpWzrost;

                        waga.AutoSize = true;
                        waga.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        waga.Location = new System.Drawing.Point(110, 80);
                        waga.Text = "Waga: " + sp[i].SpWaga;

                        dostepny.AutoSize = true;
                        dostepny.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        dostepny.Location = new System.Drawing.Point(590, 0);
                        if ((!sp[i].SpDoKonserwacji) && (!sp[i].SpUszkodzony) && (sp[i].SpDostepny))
                        {
                            dostepny.Text = "Dostępny";
                        }
                        else
                        {
                            dostepny.Text = "Niedostępny";
                        }

                        cena.AutoSize = true;
                        cena.Font = new System.Drawing.Font("Microsoft Sans Serif", 13F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        cena.Location = new System.Drawing.Point(580, 55);
                        cena.Text = "Cena: " + sp[i].SpCena + " zł";

                        button.AutoSize = true;
                        button.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        button.Location = new System.Drawing.Point(600, 80);
                        button.Text = "Zamów";

                        button.Click += new EventHandler(ZamowClick);

                        pbpi.SizeMode = PictureBoxSizeMode.Zoom;
                        pbpi.MaximumSize = new System.Drawing.Size(100, 100);
                        pbpi.Anchor = AnchorStyles.Left;
                        pbpi.MouseClick += new System.Windows.Forms.MouseEventHandler(powieksz_MouseClick);
                        if (sp[i].SpObrazek != null)
                        {
                            MemoryStream ms = new MemoryStream(sp[i].SpObrazek);
                            pbpi.Image = Image.FromStream(ms);
                        }
                        else
                        {
                            pbpi.ImageLocation = "C:\\Documents and Settings\\Zbig\\Moje dokumenty\\Visual Studio 2008\\Projects\\wsnForms\\wsnForms\\Properties\\brak.jpg";
                        }

                        bEdytuj.AutoSize = true;
                        bEdytuj.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        bEdytuj.Location = new System.Drawing.Point(110, 100);
                        bEdytuj.Text = "Edytuj sprzęt";

                        bEdytuj.Click += new EventHandler(Edytuj_Click);

                        bUsun.AutoSize = true;
                        bUsun.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        bUsun.Location = new System.Drawing.Point(210, 100);
                        bUsun.Text = "Usuń sprzęt";

                        bUsun.Click += new EventHandler(Usun_Click);

                        checkUszkodzony.AutoSize = true;
                        checkUszkodzony.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        checkUszkodzony.Location = new System.Drawing.Point(310, 100);
                        checkUszkodzony.Text = "Uszkodzony";
                        if (sp[i].SpUszkodzony)
                        {
                            checkUszkodzony.Checked = true;
                        }
                        else
                        {
                            checkUszkodzony.Checked = false;
                        }

                        checkUszkodzony.CheckedChanged += new EventHandler(Uszkodzony_CheckedChanged);

                        checkDoKonserwacji.AutoSize = true;
                        checkDoKonserwacji.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
                        checkDoKonserwacji.Location = new System.Drawing.Point(410, 100);
                        checkDoKonserwacji.Text = "Do konserwacji";
                        if (sp[i].SpDoKonserwacji)
                        {
                            checkDoKonserwacji.Checked = true;
                        }
                        else
                        {
                            checkDoKonserwacji.Checked = false;
                        }

                        checkDoKonserwacji.CheckedChanged += new EventHandler(DoKonserwacji_CheckedChanged);

                        panel.AutoSize = true;
                        panel.Controls.Add(nazwa);
                        panel.Controls.Add(producent);
                        panel.Controls.Add(rozmiar);
                        panel.Controls.Add(wzrost);
                        panel.Controls.Add(waga);
                        panel.Controls.Add(button);
                        panel.Controls.Add(dostepny);
                        panel.Controls.Add(cena);
                        panel.Controls.Add(pbpi);

                        panel.Controls.Add(bEdytuj);
                        panel.Controls.Add(bUsun);
                        panel.Controls.Add(checkUszkodzony);
                        panel.Controls.Add(checkDoKonserwacji);

                        items.Controls.Add(panel);
                    }
                }
            }
        }

        #endregion // pokazSprzetPracownika

        #region powiekszClick

        private void powieksz_MouseClick(object sender, MouseEventArgs e)
        {          
            PictureBoxPlusIndex pbpi = (PictureBoxPlusIndex)sender;
            PictureBox pb = new PictureBox();
            MemoryStream ms = new MemoryStream(s[pbpi.index].SpObrazek);
            pb.Location = new System.Drawing.Point(0, 0);
            pb.Image = Image.FromStream(ms);
            pb.SizeMode = PictureBoxSizeMode.AutoSize;
            Zoom z = new Zoom();
            z.Controls.Add(pb);
            z.Show(this);
        }

        #endregion //powiekszClick

        #region WybórWedługDaty

        private void cbDateEnable_CheckedChanged(object sender, EventArgs e)
        {
            if (cbDateEnable.Checked)
            {
                lDateOd.Enabled = true;
                lDateDo.Enabled = true;
                dateOd.Enabled = true;
                dateDo.Enabled = true;
                    TimeSpan ts = new TimeSpan(7, 0, 0, 0);
                    dateDo.Value = dateOd.Value.Add(ts);
            }
            else
            {
                lDateOd.Enabled = false;
                lDateDo.Enabled = false;
                dateOd.Enabled = false;
                dateDo.Enabled = false;
            }
        }

        #endregion // WybórWedługDaty

        void ZamowClick(object sender, EventArgs args)
        {
            okienkoKoszyka.dodajSprzet(((ButtonPlusSprzet)sender).sprzet);
            if (!((ButtonPlusSprzet)sender).sprzet.SpDoKonserwacji && !((ButtonPlusSprzet)sender).sprzet.SpUszkodzony && ((ButtonPlusSprzet)sender).sprzet.SpDostepny)
                okienkoKoszyka.Show();
        }

        void Edytuj_Click(object sender, EventArgs args)
        {
            EdycjaSprzetu es = new EdycjaSprzetu(((ButtonPlusSprzet)sender).sprzet);
            es.Show(this);
        }

        void Usun_Click(object sender, EventArgs args)
        {
            BazaDanych.UsunSprzet(((ButtonPlusSprzetPlusIndex)sender).sprzet.SpId);
            items.Controls.RemoveAt(((ButtonPlusSprzetPlusIndex)sender).index);
        }

        private void Uszkodzony_CheckedChanged(object sender, EventArgs e)
        {
            BazaDanych.ChangeUszkodzony(((CheckBoxPlusSprzet)sender).sprzet.SpId, ((CheckBoxPlusSprzet)sender).Checked);
        }

        private void DoKonserwacji_CheckedChanged(object sender, EventArgs e)
        {
            BazaDanych.ChangeDoKonserwacji(((CheckBoxPlusSprzet)sender).sprzet.SpId, ((CheckBoxPlusSprzet)sender).Checked);
        }

        private void bDodaj_Click(object sender, EventArgs e)
        {
            NowySprzet ns = new NowySprzet();
            ns.Show(this);
        }

        private void pokazKoszyk_Click(object sender, EventArgs e)
        {
            okienkoKoszyka.Show();
        }

        public Sprzet[] s = null;
        Zamow okienkoKoszyka = new Zamow();
    }
}